package suanfa;

/**
 * @Author Stringzhua
 * @Date 2024/2/4 15:59
 * description:杨辉三角
 */
public class YangHui {
    public static void main(String[] args) {
        /*
         * 1
         * 1 2 1
         * 1 3 3 1
         * 1 4 6 4 1
         * 1 5 10 10 5 1
         * 1.第一行有1个元素,第n行有n个元素
         * 2.每一行的第一个元素和最后一个元素都是1
         * 3.从第三行开始,对于非第一个元素和最后一个元素的元素的值.
         * arr[i][j]=arr[i-1][j]+arr[i-1][j-1];
         * */
        int[][] YangHui = new int[10][];
        for (int i = 0; i < YangHui.length; i++) {//遍历每个元素
            //给每个一维数组(行) 开辟空间
            YangHui[i] = new int[i + 1];
            //给每一个一维数组赋值
            for (int j = 0; j < YangHui[i].length; j++) {
//                每一行的第一个元素和最后一个元素都是1
                if (j == 0 || j == YangHui[i].length - 1) {
                    YangHui[i][j] = 1;
                } else {//中间的元素
                    YangHui[i][j] = YangHui[i - 1][j] + YangHui[i - 1][j - 1];
                }
            }
        }
        //输出杨辉三角
        for (int i = 0; i < YangHui.length; i++) {
            for (int j = 0; j < YangHui[i].length; j++) {
                System.out.print(YangHui[i][j] + "\t");
            }
            System.out.println();//换行
        }
    }
}